package aceim.api.dataentity;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Service message entity.
*/
public class ServiceMessage extends Message {
/**
* Does this message require accept or decline answer (like authorization request) ?
*/
private final boolean requiresAcceptDeclineAnswer;
public ServiceMessage(Parcel arg0) {
super(arg0);
requiresAcceptDeclineAnswer = arg0.readByte() > 0;
}
/**
* @param serviceId Owner's service ID.
* @param contactUid Owner's protocol UID.
* @param requiresAcceptDeclineAnswer Does this message require accept or decline answer (like authorization request) ?
*/
public ServiceMessage(byte serviceId, String contactUid, boolean requiresAcceptDeclineAnswer){
super(serviceId, contactUid);
this.requiresAcceptDeclineAnswer = requiresAcceptDeclineAnswer;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeByte((byte) (requiresAcceptDeclineAnswer ? 1 : 0));
}
public static final Parcelable.Creator<ServiceMessage> CREATOR = new Parcelable.Creator<ServiceMessage>(){
@Override
public ServiceMessage createFromParcel(Parcel arg0) {
//Omitting classname variable used for class hierarchy parcelable support
arg0.readString();
return new ServiceMessage(arg0);
}
@Override
public ServiceMessage[] newArray(int size) {
return new ServiceMessage[size];
}
};
/**
* @return the requiresAcceptDeclineAnswer
*/
public boolean isRequireAcceptDeclineAnswer() {
return requiresAcceptDeclineAnswer;
}
}